﻿using System;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using Persistencia;
using System.Collections.Generic;

namespace SearchServer.WCFService
{
    [ServiceContract(Namespace = "")]
    [SilverlightFaultBehavior]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
   // [ServiceKnownType(typeof(Dominio.Usuario))]
    public class ServiceClient
    {
        [OperationContract]
        public Dominio.Usuario Login(string username, string password)
        {
            Usuario usuario = AppManager.UserManager.GetInstancia().IniciarSesion(username, password);
            Dominio.Usuario usuarioD = Dominio.UtilidadUsuario.GenerarUsuarioDominio(usuario);
            return usuarioD;
        }

        [OperationContract]
        public List<Dominio.FileSystemElement> BuscarFileSystemElements(string textSearch)
        {
            List<FileSystemElement> fseList = AppManager.FileSystemElementManager.GetInstancia().BuscarFileSystemElements(textSearch);
            List<Dominio.FileSystemElement> list = Dominio.UtilidadFileSystemElement.GenerarFSE(fseList);
            return list;
        }

        [OperationContract]
        public List<VideoInstitucional> GetVideosInstitucionales()
        {
            List<VideoInstitucional> videos = AppManager.VideoManager.GetInstancia().ObtenerVideos();
            return videos;
        }
        
    }
}
